<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.prime.com.tr/ui"
      xmlns:c="http://java.sun.com/jsp/jstl/core">
	<ui:composition template="/templates/padrao.xhtml">
		<ui:define name="barraTitulo">Cadastro de Ve&iacute;culo</ui:define>
		<ui:define name="conteudo"> 
			<p:dialog header="Pesquisa Cliente" widgetVar="modalPsqCliente" onCloseUpdate="form" modal="true" height="480" width="600" id="boxPesquisarCliente">
				<h:form id="formPesquisaCliente">
					<p:tabView id="tabView">
						<p:tab title="Pesquisa de Cliente">
							<fieldset>
								<h:panelGrid columns="2" columnClasses="alinhaEsq width70">
									<h:column>
										<h:outputText value="Nome:" styleClass="textfield" />
									</h:column>
									<h:column>
										<h:inputText value="#{controleVeiculo.pesquisaNomeCliente}"  size="35" styleClass="textfield" />
									</h:column>
									<h:column>
										<h:outputText value="CPF / CNPJ:" styleClass="textfield" />
									</h:column>
									<h:column>
										<h:inputText value="#{controleVeiculo.pesquisaCPFCNPJCliente}"  size="20" styleClass="textfield" />
									</h:column>
								</h:panelGrid>
							</fieldset>
							<p:commandLink action="#{controleVeiculo.pesquisarCliente}" styleClass="alinhaDir" update=":listaPesquisaCliente">
								<h:graphicImage url="/images/botoes/btnPesquisar.png" class="btnAcoes"/>
							</p:commandLink>
						</p:tab>
					</p:tabView>
				</h:form>
				<br/>
				<br/>
				<h:form id="listaPesquisaCliente">
					<p:dataTable value="#{controleVeiculo.listaCliente}" 
					             id="id_ListaCliente"
					             var="cliente" 
					             paginator="true" 
					             rows="5" 
					             dynamic="true" 
					             rendered="#{not empty controleVeiculo.listaCliente}" 
								 firstPageLinkLabel="Primeiro"
					             previousPageLinkLabel="Anterior"
					             nextPageLinkLabel ="Pr&oacute;ximo"
					             lastPageLinkLabel="&Uacute;ltima"
					             emptyMessage="Nenhum resgistro encontrado"
					             errorMessage="Ocorreu um erro"
	    			             selection="#{controleVeiculo.veiculo.cliente}" 
					             selectionMode="single" >
						<p:column>
							<f:facet name="header">
								<h:outputText value="Nome" />
							</f:facet>
							<h:outputText value="#{cliente.nome}" />
						</p:column>
						<p:column>	
						<f:facet name="header">
								<h:outputText value="CPF / CNPJ:" />
							</f:facet>
							<h:outputText value="#{cliente.CPF_CNPJ}" />
						</p:column>	
						<p:column resizable="true" styleClass="width20">
							<f:facet name="header">
								<h:outputText value="A&ccedil;&atilde;o" /> 
							</f:facet>
                            <h:commandLink onclick="modalPsqCliente.hide()">
								<p:graphicImage url="/images/marcadores/add.png" alt="Seleciona Cliente"/>
								<f:setPropertyActionListener target="#{controleVeiculo.veiculo.cliente}" value="#{cliente}" />
                            </h:commandLink>
                     	</p:column>
					</p:dataTable>
				</h:form>
			</p:dialog>
			<p:growl id="messages"/>
			<h:form id="form">
				<p:tabView id="divTabView">
					<p:tab title="Cliente">					
						<h:panelGrid columns="2" columnClasses="width150 alinhaDir, width500">
							<h:outputText value=""/>
							<h:outputText value="Os campos com asterisco (*) s&atilde;o de preenchimento obrigat&oacute;rio." styleClass="campoObrigatorio" />
							<h:outputText value="Plano:" styleClass="alinhaDir"/>
							<h:column>						
								<h:selectOneMenu value="#{controleVeiculo.veiculo.plano}"  required="true" > 
									<f:converter converterId="convertePlano"/>
									<f:selectItem itemLabel="selecione" itemValue="#{controleVeiculo.selecionePlano}"/>
					            	<f:selectItems value="#{controleVeiculo.listaPlano}" var="plano" itemLabel="#{plano.descricao}" itemValue="#{plano}" />
								</h:selectOneMenu>
								<h:outputText value="(*)" styleClass="campoObrigatorio" />&nbsp;
							</h:column>
							
							<h:outputText value="Indica&ccedil;&atilde;o:" styleClass=""/>
							<h:inputText  value="#{controleVeiculo.veiculo.indicacao}" size="80"/>
							
							<h:outputText value="&nsbp; UF:&nbsp;" styleClass=""/>
							<h:selectOneMenu value="#{controleVeiculo.veiculo.uf}" requiredMessage="Campo [UF] obrigat&oacute;rio" required="true" >  
			                    <f:selectItems value="#{controleVeiculo.UFS}" var="UF" itemLabel="#{UF}" itemValue="#{UF}" />
							</h:selectOneMenu>
							
							<h:outputText value="Data Inicial:" styleClass=""/>
							<h:column >
								<p:calendar value="#{controleVeiculo.veiculo.dataAnuncio}" mode="popup" pattern="dd/MM/yyyy" requiredMessage="Campo [DATA INICIAL] obrigat&oacute;rio" />
								<h:outputText value="(*) " styleClass="campoObrigatorio" />								
								<h:outputText value=" Data T&eacute;rmino:" styleClass=""/>							
								<p:calendar value="#{controleVeiculo.veiculo.dataFimAnuncio}" mode="popup" pattern="dd/MM/yyyy" requiredMessage="Campo [DATA TÉRMINO] obrigat&oacute;rio" />
								<h:outputText value="(*)" styleClass="campoObrigatorio" />
							</h:column>
							
							<h:outputText value="Cliente:" styleClass="alinhaDir"/>							
							<h:column>
								<h:outputText value="#{controleVeiculo.veiculo.cliente.nome}"/>&nbsp;
								<p:commandLink oncomplete="modalPsqCliente.show()">
									<h:graphicImage url="/images/botoes/btnSelecionar.png" styleClass="iconesLaterais" />
								</p:commandLink>
							</h:column>
							<h:outputText value="Contato:" styleClass=""/>
							<h:column>
								<p:panel id="id_veiculoContato">
									<h:panelGrid columns="2" columnClasses="width100 alinhaDir">
										<h:outputText value="Nome:" styleClass=""/>	
										<h:inputText  value="#{controleVeiculo.veiculo.contato.nome}" requiredMessage="Campo [NOME CONTATO] obrigat&oacute;rio" size="50"/>
										<h:outputText value="Telefone:" styleClass=""/>
										<h:column>							
											<p:inputMask id="telefone" size="14" mask="(99) 9999-9999" maxlength="14" value="#{controleVeiculo.veiculo.contato.telefone}" requiredMessage="Campo [TELEFONE CONTATO] obrigat&oacute;rio" required="true" />
											<h:outputText value=""/>
											<h:outputText value="&nsbp; Celular: " styleClass=""/>							
											<p:inputMask id="celular" size="14" mask="(99) 9999-9999" maxlength="14" value="#{controleVeiculo.veiculo.contato.celular}" alt="phone" />
										</h:column>						
										<h:outputText value="Email:" styleClass=""/>
										<h:inputText id="email" size="50" maxlength="50" value="#{controleVeiculo.veiculo.contato.email}" class="lower" />
									</h:panelGrid>
								</p:panel>
							</h:column>
						</h:panelGrid>
					</p:tab>
					<p:tab title="Autos">
						<h:panelGrid columns="2" columnClasses="width150 alinhaDir, width500">
							<h:outputText value="Tipo Ve&iacute;culo:" styleClass="alinhaDir"/>
							<h:column>						
								<h:selectOneMenu value="#{controleVeiculo.tipoVeiculo}"> 
									<f:converter converterId="converteTipoVeiculo"/>
					            	<f:selectItem itemLabel="selecione" itemValue="#{controleVeiculo.selecioneTipoVeiculo}"/>
					            	<f:selectItems value="#{controleVeiculo.listaTipoVeiculo}" var="tipoVeiculo" itemLabel="#{tipoVeiculo.descricao}" itemValue="#{tipoVeiculo}" />
									<p:ajax update="id_fabricante id_modelo id_veiculoInformacaoAdicional id_acessorio" listener="#{controleVeiculo.filtraFabricantes}" />
								</h:selectOneMenu>
								<h:outputText value="(*)" styleClass="campoObrigatorio" />
							</h:column>
							<h:outputText value="Fabricante:" styleClass="alinhaDir"/>
							<h:column>
								<h:selectOneMenu id="id_fabricante" value="#{controleVeiculo.fabricante}">
									<f:converter converterId="converteFabricante"/>
									<f:selectItem itemLabel="selecione" itemValue="#{controleVeiculo.selecioneFabricante}"/>
									<f:selectItems value="#{controleVeiculo.listaFabricante}" var="fabricante" itemLabel="#{fabricante.descricao}" itemValue="#{fabricante}"/>
									<p:ajax update="id_modelo" listener="#{controleVeiculo.filtraModelos}" />
								</h:selectOneMenu>
								<h:outputText value="(*)" styleClass="campoObrigatorio" />&nbsp;	
							</h:column>
							<h:outputText value="Modelo:" styleClass="alinhaDir"/>							
							<h:column>
								<h:selectOneMenu id="id_modelo" value="#{controleVeiculo.veiculo.modelo}">
									<f:converter converterId="converteModelo"/>
									<f:selectItem itemLabel="selecione" itemValue="#{controleVeiculo.selecioneModelo}"/>
				            		<f:selectItems value="#{controleVeiculo.listaModelo}" var="modelo" itemLabel="#{modelo.descricao}" itemValue="#{modelo}" />
								</h:selectOneMenu>
								<h:outputText value="(*)" styleClass="campoObrigatorio"/>
							</h:column>
							<h:outputText value="Cor:" styleClass="alinhaDir"/>
							<h:column>						
								<h:selectOneMenu value="#{controleVeiculo.veiculo.cor}"  required="true" > 
									<f:converter converterId="converteCor"/>
									<f:selectItem itemLabel="selecione" itemValue="#{controleVeiculo.selecioneCor}"/>
					            	<f:selectItems value="#{controleVeiculo.listaCor}" var="cor" itemLabel="#{cor.descricao}" itemValue="#{cor}" />
								</h:selectOneMenu>
								<h:outputText value="(*)" styleClass="campoObrigatorio" />&nbsp;	
							</h:column>
							<h:outputText value="C&acirc;mbio:" styleClass="alinhaDir"/>
							<h:column>						
								<h:selectOneMenu value="#{controleVeiculo.veiculo.cambio}"  required="true" > 
									<f:converter converterId="converteCambio"/>
									<f:selectItem itemLabel="selecione" itemValue="#{controleVeiculo.selecioneCambio}"/>
					            	<f:selectItems value="#{controleVeiculo.listaCambio}" var="cambio" itemLabel="#{cambio.descricao}" itemValue="#{cambio}" />
								</h:selectOneMenu>
								<h:outputText value="(*)" styleClass="campoObrigatorio" />&nbsp;	
							</h:column>
							<h:outputText value="Combust&iacute;vel:" styleClass="alinhaDir"/>
							<h:column>						
								<h:selectOneMenu value="#{controleVeiculo.veiculo.combustivel}"  required="true" > 
									<f:converter converterId="converteCombustivel"/>
									<f:selectItem itemLabel="selecione" itemValue="#{controleVeiculo.selecioneCombustivel}"/> 
					            	<f:selectItems value="#{controleVeiculo.listaCombustivel}" var="combustivel" itemLabel="#{combustivel.descricao}" itemValue="#{combustivel}" />
								</h:selectOneMenu>
								<h:outputText value="(*)" styleClass="campoObrigatorio" />&nbsp;	
							</h:column>
							<h:outputText value="Ano Fabrica&ccedil;&atilde;o:" styleClass=""/>
							<h:inputText  value="#{controleVeiculo.veiculo.anoFabricacao}" size="4"/>
							<h:outputText value="Ano Modelo:" styleClass=""/>
							<h:inputText  value="#{controleVeiculo.veiculo.anoModelo}" size="4"/>
							
							<h:outputText value="Valor:" styleClass=""/>
							<h:inputText  value="#{controleVeiculo.veiculo.valor}" size="12"/>
							<h:outputText value="Status:" styleClass=""/>
							<h:selectOneMenu value="#{controleVeiculo.veiculo.status}">
								<f:selectItem itemLabel="Normal" itemValue="N"/>
								<f:selectItem itemLabel="Inativo" itemValue="I"/>
								<f:selectItem itemLabel="Destaque" itemValue="D"/>
								<f:selectItem itemLabel="Principal" itemValue="P"/>
							</h:selectOneMenu>
							<h:outputText value="Observa&ccedil;&atilde;o:" styleClass=""/>
							<p:inputTextarea style="width:300px;height:100px;" effectDuration="400" value="#{controleVeiculo.veiculo.observacao}" size="12"/>
						</h:panelGrid>	
					</p:tab>
					<p:tab title="Informa&ccedil;&otilde;es">
						<h:panelGrid columns="2" columnClasses="width150 alinhaDir, width500">
							<h:outputText value="Informa&ccedil;&otilde;es" styleClass=""/>
							<h:column>
								<p:panel id="id_veiculoInformacaoAdicional">
									<ui:repeat value="#{controleVeiculo.veiculo.veiculoInformacaoAdicionais}" var="veiculoInformacaoAdicional">
										<h:panelGrid columns="2" columnClasses="width100 alinhaDir">
											<h:outputText value="#{veiculoInformacaoAdicional.informacaoAdicional.descricao}"/>
											<h:inputText  value="#{veiculoInformacaoAdicional.valor}" size="12"/>
										</h:panelGrid>
									</ui:repeat>
								</p:panel>							
							</h:column>	
						</h:panelGrid>
						<h:panelGrid columns="2" columnClasses="width150 alinhaDir, width500">	
							<h:outputText value="Acess&oacute;rios" styleClass=""/>
							<h:column>
								<p:panel id="id_acessorio">
									<h:panelGrid columns="3" columnClasses="width200,  , width200" rendered="#{controleVeiculo.tipoVeiculo.codigoTipoVeiculo != 0}">
										<h:column />									
											<p:pickList value="#{controleVeiculo.listaAcessorio}" 
												var="acessorio" 
												itemLabel="#{acessorio.descricao}" 
												itemValue="#{acessorio}" 
												converter="converteAcessorio"
												iconOnly="true">
												<f:facet name="sourceCaption">Todos</f:facet>  
												<f:facet name="targetCaption">Selecionados</f:facet> 
											</p:pickList>
										<h:column />
									</h:panelGrid>					
								</p:panel>
							</h:column>
						</h:panelGrid>
					</p:tab>	
					<p:tab title="Imagens">
						<h:panelGrid columns="2" columnClasses="width150 alinhaDir, width500">
							<h:outputText value="Imagens" styleClass=""/>
							<h:column>
								<p:panel id="id_imagensVeiculos">
									<ui:repeat var="imagem" value="#{controleVeiculo.imagens}" >
										<h:graphicImage url="#{imagem}"/>
									</ui:repeat>
								</p:panel>
							</h:column>
							<h:outputText value=""/>
							<p:fileUpload 	fileUploadListener="#{controleVeiculo.fileUpload}"  
											multiple="true"  
											auto="true" 
											update="id_imagensVeiculos" 
											label="Uploads" 
											allowTypes="*.jpg;*.png;*.gif;" 
											description="Images"/>
						</h:panelGrid>
					</p:tab>
				</p:tabView>				
				<h:commandLink action="#{controleVeiculo.gravar}" styleClass="alinhaDir">
					<h:graphicImage url="/images/botoes/btnGravar.png" class="btnAcoes"/>
				</h:commandLink>				
				<h:commandLink action="#{controleVeiculo.limpar}">
					<h:graphicImage url="/images/botoes/btnLimpar.png" class="btnAcoes"/>
					<f:ajax render="divTabView"/>
				</h:commandLink>	
				<h:outputLink value="manutencao.jsf">
					<h:graphicImage url="/images/botoes/btnPesquisar.png" class="btnAcoes"/>
				</h:outputLink>
			</h:form>
		</ui:define>
	</ui:composition>
</html>